<!doctype html>
<html> 
<head>
	<meta charset="utf-8">
  <title>Videorekorder programmieren</title>

<script type="text/javascript">
// Formularfelder ändern: http://www.html.de/threads/aendern-eines-textfeld-inhaltes-nach-klick-auf-button.7377/

function go() {
  titel=document.getElementById('titel').value;
  sender=document.getElementById('sender').value;

  starth=parseInt(document.getElementById('starth').value);
  startm=parseInt(document.getElementById('startm').value);
  endeh=parseInt(document.getElementById('endeh').value);
  endem=parseInt(document.getElementById('endem').value);

  preoffset=parseInt(document.getElementById('preoffset').value);
  postoffset=parseInt(document.getElementById('postoffset').value);
  dauerMinuten=(60*endeh+endem)-(60*starth+startm)+preoffset+postoffset
  if (dauerMinuten < 0) { // Tageswechsel?
    dauerMinuten=(60*(24+endeh)+endem)-(60*starth+startm)+preoffset+postoffset
    } 

  // Anfangszeit bestimmen
  temp1=60*starth+startm-preoffset // Minuten bestimmen
  temp2=~~(temp1/60) // div Operator für Stundenzahl
  temp3=temp1%60 //  Rest
  starth=temp2
  startm=temp3

  // führende Null hinzufügen
  if (startm < 10) { 
    startm="0"+startm.toString()
  }
  
  // Leerzeichen entfernen
  // Quelle: http://stackoverflow.com/questions/1144783/replacing-all-occurrences-of-a-string-in-javascript
  titel = titel.replace(/ /g, ''); 

  // Videoaufnahme
  //videocommand='echo \'timeout '+dauerMinuten+'m mplayer -dumpstream -dumpfile ~/'+titel+'.ts dvb://"'+sender+'"\' | at '+starth+':'+startm
  videocommand='echo \'timeout '+dauerMinuten+'m mplayer -dumpstream -dumpfile ~/'+titel+'.ts dvb://"'+sender+'"'

  // Lernmodus
  // cat video.html | sed 's/<tr><td>hallo</td><td>Sender 2</td><td>00:00</td><td>01:00</td></tr>
M0a0r0k0e0r/<tr><td>Eins<\/td><td>Zwei<\/td><td>Drei<\/td><td>Vier<\/td><\/tr>\nM0a0r0k0e0r/'>temp.html && mv temp.html video.html
  // document.URL // beginnt mit file:///
  // window.location.pathname; // Linux Path
  zeitstring1='00:00'
  zeitstring2='01:00'
  learncommand=' && cat '+window.location.pathname+' | sed \'s/<tr><td>hallo</td><td>Sender 2</td><td>00:00</td><td>01:00</td></tr>
M0a0r0k0e0r/<tr><td>'+titel+'<\\\/td><td>'+sender+'<\\\/td><td>'+zeitstring1+'<\\\/td><td>'+zeitstring2+'<\\\/td><\\\/tr>\\nM0a0r0k0e0r/\'>tempvideorekorder.html && mv tempvideorekorder.html '+window.location.pathname

  // Timer festlegen
  atcommand=' | at '+starth+':'+startm
 
  ausgabe=videocommand+learncommand+atcommand;
  document.getElementById('ausgabe').value = ausgabe

  //  document.write('<code>');
  //  document.write(ausgabe);
  //  document.write('</code>');

}
</script>

</head>

<body>

<h1>Videorekorder programmieren</h1>

Titel: <input id="titel" type="text" value="NameDerSendungJahr2010" size="50"/><br>
Sender:
<select id="sender" size="1">
<option selected>Sender 1</option>
<option>Sender 2</option>
<option>Sender 3</option>
</select><br>
Startzeit hh: <input id="starth" type="text" value="22" size="2"/>
mm: <input id="startm" type="text" value="30" size="2"/><br>
Endzeit hh: <input id="endeh" type="text" value="23" size="2"/>
mm: <input id="endem" type="text" value="40" size="2"/><br>

<p>
Offset<br>
Früher anfangen (Minuten): <input id="preoffset" type="text" value="2" size="2"/><br>
Später aufhören (Minuten): <input id="postoffset" type="text" value="5" size="2"/><br>
<p>
<input type="button" name="submit" value="Submit" onclick="go();" />

<p><br><br>Ausgabe<br>

<p><textarea id="ausgabe" name="something" cols="80" rows="6"></textarea>

<p>Historie:<br>
<table border="1" cellspacing="0" cellpadding="5">
  <tr>
    <th>Titel</th>
    <th>Sender</th>
    <th>Startzeit</th>
    <th>Endzeit</th>
  </tr>
<tr><td>hallo</td><td>Sender 2</td><td>00:00</td><td>01:00</td></tr>
M0a0r0k0e0r
</table>

</body>
</html>